// 网络通讯用到的头文件,已经对windows和linux 做了适配
// 作者：YaoDecheng 
// 注意，在windows网络编程中，必须完成一次 WSAStartup 调用
// #ifdef _WIN32
// 	// system("chcp 65001"); // 使中文不乱码
// 	WSADATA wsaData;
// 	if (WSAStartup(MAKEWORD(2, 2), &wsaData) != 0)
// 	{
// 		std::cerr << "WSAStartup failed." << std::endl;
// 		exit(-1);
// 	}
// #endif
// 结束时调用一次 WSACleanup();

#pragma once
#ifndef __YADE_NET_WORK_HPP__
#define __YADE_NET_WORK_HPP__

#define WINVER 0x0A00
#define _WIN32_WINNT 0x0A00 // windwos版本win10

#ifdef _WIN32
#include <winsock2.h>
#include <Windows.h>
#include <ws2ipdef.h>
#include <Ws2tcpip.h>
#pragma comment(lib, "ws2_32.lib")
#define in_port_t uint16_t
#else
#include <arpa/inet.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <unistd.h>
#include <netdb.h>
#endif

#endif

#ifdef _WIN32
#define sleep_ms(t) Sleep((t))
#else
#define sleep_ms(t) usleep((t) * 1000)
#endif

#ifdef _WIN32
#define close_fd(fd) closesocket((fd))
#else
#define close_fd(fd) close((fd))
#endif

